object IntegerProcessor {
  // 定义 addOne 函数，使用高阶函数 map 实现
  def addOne(numbers: List[Int]): List[Int] = {
    numbers.map(_ + 1)
  }

  // 定义 filterEven 函数，使用高阶函数 filter 实现
  def filterEven(numbers: List[Int]): List[Int] = {
    numbers.filter(_ % 2 == 0)
  }

  // 定义 mapReduce 函数，接受一个整数列表和两个函数作为参数
  def mapReduce(numbers: List[Int], mapFunction: Int => Int, reduceFunction: (Int, Int) => Int): Int = {
    numbers.map(mapFunction).reduce(reduceFunction)
  }
}

/*
//测试
object Main {
  def main(args: Array[String]): Unit = {
    val list = List(1, 2, 3, 4, 5,6,7,8,9,10)

    // 测试 addOne 函数
    println("AddOne: " + IntegerProcessor.addOne(list))

    // 测试 filterEven 函数
    println("FilterEven: " + IntegerProcessor.filterEven(list)) 

    // 测试 mapReduce 函数
    val mapFunction: Int => Int = _ * 2
    val reduceFunction: (Int, Int) => Int = _ + _
    println("MapReduce: " + IntegerProcessor.mapReduce(list, mapFunction, reduceFunction))
  }
}
*/
